package com.cskaoyan.javase.recursion._2depth;

/**
 *
 * @since 17:35
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        sum(0);
        System.out.println("hello world!");
    }


    public static int sum(int a) {
        /*
            try...catch是异常的一种处理方式
            try代码块中放,正常执行,但可能产生异常的代码
            catch的小括号中,写try代码块中抛出的异常表示匹配
                一旦匹配成功,就会catch代码块中代码
            并且由于异常做了处理,异常就不会导致程序终止了,也不会在控制台打印报错信息了
         */
        try {
            return a + sum(a - 1);
        } catch (StackOverflowError error) {
            System.out.println("sum方法" + a + "层");
        }
        return 0;
    }
}
